Artificial reverberations are often added to dry audio contents to simulate effects of real or virtual environments. In many applications such as headphone and speaker playbacks, artificial reverberations are added to give the listeners a sense of being in the real environments, such as a concert hall, an auditorium, etc. In nature, reverberations are echoes bounced back at different time instants from the surrounding environment, such as a room. The ideal way of generating reverberations would be convolving the audio signal with the impulse response of the desired environment. Such conventional methods are formulated by treating the environment as a linear time-invariant system whose characteristics are completely specified by its impulse response. However, such methods are difficult to implement. Firstly, it requires that the impulse response of the environment be accurately measured, digitized, and stored in a device. Secondly, such a measurement has to be conducted for each environment, which may be very costly in practice. Due to the long duration of the impulse response, in a digital signal processing application, it may take large computational and storage resources to convolve an impulse response with an input signal.
A number of conventional methods have been proposed to approximate the exact reverberation response or to create only the salient signals. Some of the algorithms use feedback loops with delay lines, sometimes combined with all-pass filters. One drawback of such feedback systems is that they typically create resonances that colorize the sound. Such problems are overcome by phase-shifting or time-variant delay lines in some algorithms, which may introduce certain undesired pitch shifting effects. Some algorithms use only delay lines and feed forward loops, tapping at different locations of the delay lines. Some other conventional algorithms separate the reverberation into early and late parts and generate them separately. This typically leads to a sudden increase of echo density at the boundary, which is not true in a natural environment. Attempts based on modeling techniques have also been reported in the literature.